/*
 * Copyright (c) 2003-2005
 * XDoclet Team
 * All rights reserved.
 */
package org.xdoclet.plugin.hibernate.qtags;

import org.xdoclet.plugin.hibernate.qtags.parameter.Length;

/**
 * &lt;collection-id&gt; definition for &lt;idbag&gt;.
 *
 * @author Anatol Pomozov
 */
public interface HibernateCollectionIdTag extends com.thoughtworks.qdox.model.DocletTag, Length {
    /**
     * Specifies database column. If not specified hibernate will guess based on property
     * name.
     *
     * @qtags.required
     */
    String getColumn();

    /**
     * Name of a generator class. All generators implement the interface <code>org.hibernate.id.IdentifierGenerator</code>.
     * There are names for the built-in generators:
     * <ul>
     * <li>increment</li>
     * <li>identity</li>
     * <li>sequence</li>
     * <li>hilo</li>
     * <li>seqhilo</li>
     * <li>seqhilo</li>
     * <li>uuid</li>
     * <li>guid</li>
     * <li>native</li>
     * <li>assigned</li>
     * <li>select</li>
     * <li>foreign</li>
     * </ul>
     *
     * @qtags.required
     */
    String getGeneratorClass();

    /**
     * Specify hibernate type.
     *
     * @qtags.required
     */
    String getType();
}